Toki Pona

For a (very simplistic) Toki Pona go here.

Paralllel

Ever tried GNU parallel and needed hours to get it to work? At least I did. So I created my own (minimalistic) tool to run commands in parallel. It even lets you increase and decrease threads and gives you an ETA. It’s my first Rust project. Check it out here. Here’s the README.txt: Paralllel A: Have you ever tried GNU parallel? Did it work for you? B: Ehm, yes. A: That’s great, how many hours did you spend?

"The Most Beautiful Program Ever Written" - Using Python's new match Statement

TLDR: The full source code of The Most Beautiful Program Ever Written implemented with a Python match statement can be found here. William Byrd presented the The Most Beautiful Program Ever Written (YouTube), which basically is a lambda calculus interpreter that uses an environment instead of the typical β-reduction. I very much encourage you to learn about this program, as it is a very cool piece of software (watch his presentation on YouTube or check out Alberto Zaccagni’s post).

ESP-01/DS18B20 Temperature Sensor

Detailed description follows ☺️. This is a test page for an ESP-01S board sleeping most of the time (deep sleep, 18.6 µA) and measuring the temperature every 10 minutes. It is not always online at the moment (there may be gaps in the following plot). I am just trying out things…

Transparent Nixie Watch

As mentioned in my last post about my nixie watch project, the standard resin I used is quite brittle. So I got myself Elegoo’s transparent ABS-like resin, which is quite strong. The material really shows of the internals of the watch, have a look:

Nixie Watch 2.0

After finishing the first version of my nixie watch I wasn’t happy with the few design flaws it has (see the list at the end of the old post) and wanted to improve things. The main goal was to make it smaller. The height stayed the same but I managed to decrease its width by 6 mm. Here’s a list of improvements: It’s now partially assembled by JLCPCB’s SMT assembly service.

Relay Clock Generator

For an upcoming project, I need a nice roughly 50% duty cycle relay oscillator, no semiconductors allowed. There are many different designs out there but many just flash (so called “relay flashers”) for a very short time or their timing depends on the attached load. Luckily I found Pavel Dovgalyuk’s project, which features a nice clock generator. The following schematic is under the Apache License 2.0 and was taken from his project page:

Building a Nixie Watch

I always liked Woz’s nixie watch, and once you see the glow of those tiny USSR digits in real life you will love them too. But all watches I found on the Internet were overpriced or lacked the features I was looking for. I also wanted to be able to program it for my own needs. So I decided to build my own watch. As a starting point for my own watch I looked at Woz’s nixie watch, which is made by David Forbes from cathodecorner.

Subclassing Python's type type

In my last post I checked out the type() function with three parameters, which dynamically creates new classes. Now I wonder what happens when you use it to create a subclass of the class type. By the way, you can also use the boring class A(...): syntax to achieve the same thing. I also can’t think of any practical use for this 😅: new_type = type("new_type", (type,), {}) As expected, the new type has the following properties.

Python's lambda Keyword as a Function

Here’s a quick one. In Python you can access the operators as a function when you import the operator module. For example, if you do from operator import *, every operator is imported in your namespace as a function, which means you can do things like add(2, 3) or is_(a, b). However, not all keywords, like lambda, are not included. Well, that makes sense because how would you define the body of a function?

Minimal Planetary System with PyGame and Numpy

A few days ago I decided to look up the formula for planetary systems. As I read through the Wikipedia page about the n-body problem, I thought: It’s not too hard to implement. So I started with some random PyGame example and added the calculation for 2D planet movement. In this post I will talk about some implementation details. tl;dr the source code can be found here. First things first, I created the Planet data structure:

Compute ɟɐıls

Writing or configuring software is sometimes not very easy. Here are some of my personal findings. Sorry, some are in German but you may get the point 😅. What’s wrong with Google’s translator? macOS, can you do 1+1? XXX put funny text here